package kr.salebeans.cm.provider.point;

import java.util.List;
import java.util.Map;

import kr.salebeans.cm.domain.point.CustomerPoint;

public interface CustomerPointProvider {

    /**
     *======================================================
     * @method  : CustomerPointProvider - createCustomerPoint 
     * @author  : bgkang
     * @since   : 2012. 11. 10.
     * @return  : CustomerPoint
     * @param point
     * @return
     * @note    : 고객포인트저장
     *======================================================
     */
    public CustomerPoint createCustomerPoint(CustomerPoint point);

    /**
     *======================================================
     * @method  : CustomerPointProvider - getCurrentCusotemrPoint 
     * @author  : bgkang
     * @since   : 2012. 11. 10.
     * @return  : long
     * @param customerId
     * @return
     * @note    : 고객아이디에 해당하는 현재 포인트 조회
     *======================================================
     */
    public long getCurrentCusotemrPoint(long customerId);

    /**
     *======================================================
     * @method  : CustomerPointProvider - retrieveCurrentCustomerListPoint 
     * @author  : bgkang
     * @since   : 2012. 11. 12.
     * @return  : Map<Long,Long>
     * @param customerIds
     * @return
     * @note    : 고객아이디목록에 해당하는 현재 포인트조회
     *======================================================
     */
    Map<Long, Long> retrieveCurrentCustomerListPoint(List<Long> customerIds);

}
